package cn.com.nes.site.service.project.dto;

import cn.com.nes.site.entity.dto.product.DeviceModelDTO;
import cn.com.nes.site.service.crm.opportunity.dto.OpportunityDeviceModelDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 项目/工程DTO
 *
 * @Author: ShenWei
 * @Date: 2024/05/17/16:25
 */
@Data
public class TProjectDTO {
    /**
     * 自增id
     */
    private Long id;

    /**
     *  地点ID
     */
    private String uuid;

    /**
     * 合同编号
     */
    private String contractNo;

    /**
     * 项目编号
     */
    private String projectId;

    /**
     * 项目名称
     */
    private String projectName;

    /**
     * 计划开始时间
     */
    private Date plannedStartTime;

    /**
     * 计划结束时间
     */
    private Date plannedEndTime;

    /**
     * 投资规模
     */
    private BigDecimal investmentScale;

    /**
     * 行政区域ID
     */
    private String areaCode;

    /**
     * 公司ID
     */
    private String companyId;

    /**
     * 项目·所属单位
     */
    private String departmentId;

    /**
     * 负责人
     */
    private String charge;

    /**
     * 服务·模式
     */
    private String serviceMode;

    /**
     * 项目状态  待排期	01
     * 待分配	02
     * 待施工	03
     * 施工中	04
     * 待检查	05
     * 待验收	06
     * 完毕	07
     */
    private String projectStatus;

    /**
     * 项目类型
     */
    private String projectType;

    /**
     * 项目级别
     */
    private String projectLevel;

    /**
     * 联系人
     */
    private String contact;

    /**
     * 联系电话
     */
    private String contactPhone;

    /**
     * 项目地点
     */
    private String projectAddress;

    /**
     * 纬度
     */
    private BigDecimal latitude;

    /**
     * 经度
     */
    private BigDecimal longitude;

    /**
     * 描述
     */
    private String remark;

    /**
     * 图片
     */
    private String images;

    /**
     * 是否回款
     */
    private String isPayment;

    /**
     * 商机ID
     */
    private String opportunityUuid;

    /**
     * 商务项目名称
     */
    private String opportunityName;

    /**
     * 线索ID
     */
    private String clueUuid;

    /**
     * 客户ID
     */
    private String customerUuid;

    /**
     * 创建者uid
     */
    private Long createuid;

    /**
     * 创建时间
     */
    private Date createtime;

    /**
     * 修改者uid
     */
    private Long modifyuid;

    /**
     * 修改时间
     */
    private Date modifytime;

    /**
     * 项目厂家ID
     */
    private String manufactureId;

    /**
     * 运营系统厂家ID
     */
    private String opeManufactureId;

    /**
     *
     */
    private String jsondata;

    /**
     * 模板ID
     */
    private String templateid;

    private String projectStatusName;

    private String projectTypeName;

    private String projectLevelName;

    private String serviceModeName;

    private String companyName;

    /**
     * 排期开始时间
     */
    private Date serviceStartTime;

    /**
     * 排期结束时间
     */
    private Date serviceEndTime;

    /**
     * 销售单ID
     */
    private Long saleOrderId;

    /**
     * 系统个数
     */
    private Integer systemNumber = 0;

    /**
     * 派单个数
     */
    private Integer dispatchedCount = 0;

    /**
     * 工单数量
     */
    private Integer workOrderCount = 0;

    /**
     * 派单状态 0-未派单，1-已派单
     */
    private boolean distributeStatus;



    /**
     * 工单审核数量
     */
    private Integer auditedCount = 0;

    /**
     * 未审核数量
     */
    private Integer notAuditedCount;
    /**
     * 总条数
     */
    private Integer count = 0;

    /**
     * 图片完整地址
     */
    private List<String> imageList;

    private String deviceModels;

    /**
     * 设备型号列表
     */
    private List<DeviceModelDTO> deviceModelList;

    /**
     * 客户总数
     */
    private Integer customerTotal = 0;

    @ApiModelProperty("允许的设备型号范围")
    private List<OpportunityDeviceModelDTO> allowDeviceModels;
}
